perm filename SYS[AP,DBL] blob
sn#113468 filedate 1974-07-31 generic text, type T, neo UTF8
00100 Rough sketch of of System Design for AP
00200
00300 This will be similar to BEINGS (PUP5 system) so I will stress the changes.
00400 Even low-level knowledge (e.g., how to do an assignment) should be made
00500 into beings. More and better records shall be kept; this will include
00600 more types of assert:lists, more faithful filling-in of new beings' parts,
00700 statistics about inter-being calling (which might lead to splitting a being
00800 into new beings, or to joining several beings into one.)
00900
01000 The third major change would be the user-interface being. At present, this
01100 is handled by MESSAGE (to print to the user) and by the sequence READ--TRANSLATE
01200 (to input and understand.) These should yield to a sophistocated interface
01300 network of knowledge, which receives from its caller-being a description
01400 of what is wanted, and in which format, say X in format F. The interface
01500 then analyzes X, and the user model, and decides how the easiest way to get
01600 X would be. The module asks for X' in the chosen format F', then converts
01700 these to the original X and F. Notice that this could be trivial
01800 (READ and PRINT), simple (as at present), or very complex (able to change
01900 between very different input specifications). This could conceivably be
02000 handled separately from the rest of the system.
02100
02200 There should be a "dial" indicating how much the ystem should induce. At
02300 one extreme, the system would ask the user to verify even the most trivial
02400 guesses and inferences; at the other, the system would probably write the whole
02500 target program after one brief user command. After one version is witten,
02600 in either case, the user should be able to try it, report his complaints,
02700 and the system should be able to correct the program and continue on.
02800
02900 The system should be self-adding, i.e., new code is allowed to use the whole
03000 body of system beings and functions. All the code generated should itself be
03100 in beings. Thus the code will understand itself.
03200
03300 The idea here in all this is that the combinatorial explosion which
03400 crippled Predicate Calculus -- that of retrieving just the relevant
03500 facts -- can be solved by organizing the knowledge in a pool, with
03600 each piece being responsible for (i) recognizing when it is relevant,
03700 and (ii) indicating new relevant information not explicitly but
03800 indirectly via nondeterministic pattern-matching retrievals and
03900 assertions. Notice that this puts ALL the control structure in the hands
04000 of the beings. If, that is, HANDS are being-parts.